有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

spring如何在取消部署mule应用程序时停止java类

我的Mule应用程序使用了一个java类,它是作为Springbean启动的。这个很好用。但当我取消部署应用程序并部署新版本时,我遇到了一个问题

取消部署应用程序后,java进程仍处于活动状态。部署新版本的应用程序后,有两个java类实例正在运行

作为解决方案,我在java类中添加了一个shutdown钩子。钩子能用,但只有当我关掉骡子的时候。当我取消部署应用程序时就不会了

为了测试这一点,我做了以下工作:

  • 部署应用程序并取消部署
  • 在日志中查看关闭java进程的消息,未找到任何内容
  • 再次部署应用程序
  • 停下骡子,检查日志。现在有两个关于java进程关闭的条目

当我取消部署应用程序时,应该如何停止java进程

谢谢, 杰伦

我正在使用Mule 3.4.0和jdk1。7.0_25.


共 (1) 个答案

  1. # 1 楼答案

    在类上添加stop方法,并通过Spring的destroy-method调用它